#define _CRT_SECURE_NO_WARNINGS
#include <iostream>
#include <string>
#include <vector>
#include <map>
#include <algorithm>

using namespace std;
//
//struct Com
//{
//    bool operator()(pair<string, int >& p1, pair<string, int >& p2)
//    {
//        return p1.second > p2.second
//            || (p1.second == p2.second && p1.first < p2.first);
//    }
//};
//int main() {
//    string input;
//    getline(cin,input);
//    map<string, int> kv;
//    size_t first = 0, last = input.find(' ');
//    while (last != -1)
//    {
//        string tmp = input.substr(first, last-first);
//        if (isupper(tmp[0]))
//            tmp[0] = tolower(tmp[0]);
//        kv[tmp]++;
//        first = ++last;
//        last= input.find(' ',last);
//    }
//    string tmp = input.substr(first,input.size()-first-1);
//    for (auto e : tmp)
//    {
//        e = tolower(e);
//    }
//    kv[tmp]++;
//
//    vector<pair<string, int>> Sortmap(kv.begin(), kv.end());
//    sort(Sortmap.begin(), Sortmap.end(), Com());
//    for (auto& x : kv)
//    {
//        cout << x.first << ":" << x.second << endl;
//    }
//    return 0;
//}